iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0

Model與紋理

我們使用隕鐵來做樓梯、柵欄及按鈕等等方塊,其實使用的都是隕鐵原本的紋理材質,並不需要額外去畫新的紋理,只需要使用BlockTexturePoll就好,我們在ModModelProvider中有寫好。

BlockStateModelGenerator.BlockTexturePool sideritePoll = blockStateModelGenerator.registerCubeAllModelTexturePool(ModBlocks.SIDERITE_BLOCK);

這樣我們就可以使用sideritePoll做其他方塊的紋理,我們這樣寫。

sideritePoll.stairs(ModBlocks.SIDERITE_STAIRS);
        sideritePoll.button(ModBlocks.SIDERITE_BUTTON);
        sideritePoll.fence(ModBlocks.SIDERITE_FENCE);
        sideritePoll.fenceGate(ModBlocks.SIDERITE_FENCE_GATE);
        sideritePoll.pressurePlate(ModBlocks.SIDERITE_PRESSURE_PLATE);
        sideritePoll.slab(ModBlocks.SIDERITE_SLAB);
        sideritePoll.wall(ModBlocks.SIDERITE_WALL);

        blockStateModelGenerator.registerDoor(ModBlocks.SIDERITE_DOOR);
        blockStateModelGenerator.registerTrapdoor(ModBlocks.SIDERITE_TRAPDOOR);

我們使用sideritePoll.XXX並指定物品,就可以將隕鐵的材質帶入物品,我們的門因為是兩格的方塊,所以需要額外設定,活板門同樣因為開關的狀態下有不同外觀,所以也要額外設定。

addDrop(ModBlocks.SIDERITE_TRAPDOOR);
        addDrop(ModBlocks.SIDERITE_BUTTON);
        addDrop(ModBlocks.SIDERITE_FENCE);
        addDrop(ModBlocks.SIDERITE_WALL);
        addDrop(ModBlocks.SIDERITE_FENCE_GATE);
        addDrop(ModBlocks.SIDERITE_PRESSURE_PLATE);
        addDrop(ModBlocks.SIDERITE_STAIRS );

因為這些方塊都是普通的方塊掉落模式,我們在ModLootTableProvider只需要這樣寫就可以了,使用addDrop設定這些方塊都屬於普通掉落。

我們這側的方塊中有像是柵欄、柵欄門以及柵欄牆(石質柵欄)等等會根據旁邊方塊改變自己樣子的方塊,例如柵欄在旁邊也是柵欄的時候會連接在一起,所以我們要到ModBlockTagProvider中將這些方塊設定自己的Tag

getOrCreateTagBuilder(BlockTags.FENCES)
                .add(ModBlocks.SIDERITE_FENCE);

        getOrCreateTagBuilder(BlockTags.FENCE_GATES)
                .add(ModBlocks.SIDERITE_FENCE_GATE);

        getOrCreateTagBuilder(BlockTags.WALLS)
                .add(ModBlocks.SIDERITE_WALL);

這樣就可以讓這些方塊有自己的擺放邏輯了。


上一篇
Minecraft Fabric Mod 模組製作 DAY18
下一篇
Minecraft Fabric Mod 模組製作 DAY20
系列文
Minecraft JAVA Fabric 模組製作 : 成為真正的創世神30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言